package com.effectiv.crm.domain;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;

import org.joda.time.DateTime;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;


@Data
@EqualsAndHashCode(callSuper = true)
@Document(collection = "POTENTIAL")
public class Potential  extends AbstractDocument implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@DBRef
	private Account account;
	@DBRef
	private Contact contact;
	
	@DBRef
	private Lead lead;
	
	private String name;
	
	private double amount;
	
	@DBRef
	private PickListEntry currency;
	
	@DateTimeFormat
	private DateTime closeDate;
	
	private String typeOfRevenue;
	
	private String nextStep;
	
	private boolean pvt;
	
	private int probability;
	
	@DBRef
	private Campaign campaign;
	
	@DBRef
	private PickListEntry salesStage;
	@DBRef
	private PickListEntry type;
	
	@DBRef
	private PickListEntry leadSource;
	
	private String productId;
	
	private String productVersion;
	
	@DBRef
	private Quotation quotation;
	
	private String partnerContact;
	
	private String remarks;
	
	
	private DateTime followupDate;
	
	private String evaluationStatus;
	
	private String description;
	
	private User assignedUser;
	private Team assignedTeam;
}
